home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / mus / edit / WaveTracer.lha / WaveTracer / Doc / Developer / Sources / WTIncl.mod < prev   
Text File  |  1995-04-25  |  8KB  |  248 lines

  1. {$if not def WTINCL_MOD}
  2. CONST WTINCL_MOD=0;
  3.  
  4. CONST             {*** MDC_ MoDuleCommands ***}
  5.  MDC_ASKREADY  =1;
  6.  MDC_DEFINEIT  =2;
  7.  MDC_CONFIG    =3;
  8.  MDC_DOIT      =8;
  9.  
  10. CONST             {*** MDE_ MoDuleErrors ***}
  11.  MDE_READY=1;
  12.  MDE_CANCELLED=2;
  13.  MDE_FILEERROR=3;
  14.  MDE_ERROR=4;
  15.  MDE_NOTMYFORMAT=8;
  16.  MDE_WRONG_MODULEVERSION=16;
  17.  MDE_NO_MEMORY=32;
  18.  MDE_BREAK=64;
  19.  MDE_CHANNELERROR=128;
  20.  MDE_NICE_SOFTMOD=512;
  21.  
  22. CONST             {*** WTM_ WaveTracerMessage ***}
  23.  WTM_TASKREQ            =$0001;
  24.  WTM_FILEREQ            =$0002;
  25.  WTM_GETABORTINFO       =$0003;
  26.  WTM_TASKMSG            =$0004;
  27.  WTM_WORKINFO           =$0005;
  28.  WTM_HANDLEMOD          =$0006;
  29.  WTM_AUTODWIN           =$0007;
  30.  WTM_OPENDWIN           =$0008;
  31.  WTM_GETMARKADDR        =$0009;
  32.  WTM_LEAVEWIN           =$000A;
  33.  WTM_SETCHANNELGADS     =$000B;
  34.  WTM_GETCHANNELGADS     =$000C;
  35.  WTM_ALLOCALPHA         =$000D;
  36.  WTM_GETMARKOFFSET      =$000E;
  37.  WTM_RESTOREALPHA       =$000F;
  38.  WTM_PREFSPROCESS       =$0010;
  39.  WTM_ALLOCUNDO          =$0011;
  40.  WTM_FREEUNDO           =$0012;
  41.  WTM_FREEPLAYLIST       =$0013;
  42.  WTM_ADDPATTERN         =$0014;
  43.  WTM_ADDENTRY           =$0015;
  44.  WTM_GETCHANNELBITS     =$0016;
  45.  WTM_GETSOUNDMODE       =$0017;
  46.  WTM_DOSELECTLIST       =$0018;
  47.  WTM_LONGREQ            =$0019;
  48.  WTM_DRAWTIMEPATTERNLIST=$001A;
  49.  WTM_ADDANIMPATH        =$001B;
  50.  WTM_ALLOCCHANNEL       =$001C;
  51.  WTM_FREECHANNEL        =$001D;
  52.  WTM_ALLOC_SPECIAL_DATA =$001E;
  53.  WTM_PLAYKEYS           =$0020;
  54.  WTM_SPECIAL_DATA_FOUND =$0040;
  55.  WTM_PLAY               =$0080;
  56.  WTM_STOPPLAY           =$0100;
  57.  WTM_CHANNELREQ         =$0200;
  58.  WTM_GETNOTEFREQ        =$0800;
  59.  WTM_CALCWAVE           =$1000;
  60.  WTM_WORK_BACKGROUND=$80000000;
  61.  
  62. CONST             {*** CH_ CHannel ***}
  63.  CH_LEFT=1;
  64.  CH_RIGHT=2;
  65.  CH_CENTER=4;
  66.  CH_SLEFT=8;
  67.  CH_SRIGHT=16;
  68.  CH_SUB=32;
  69.  
  70. CONST             {*** MD_ MoDe ***}
  71.  MD_MONO=1;
  72.  MD_STEREO=2;
  73.  MD_3CH=3;
  74.  MD_QUADRO=4;
  75.  MD_SURROUND=5;
  76.  MD_AC3_Sub=6;
  77.  MD_AC3=7;
  78.  
  79. CONST             {*** Portnames ***}
  80.  PORT_WT='WaveTracerPort';
  81.  PORT_EFFECTMOD='WTEffectModPort';
  82.  PORT_LOADER='WTLoaderPort';
  83.  PORT_SAVER='WTSaverPort';
  84.  
  85. CONST             {*** Portversions ***}
  86.  VERSION_WT=1;
  87.  VERSION_EFFECTMOD=4;
  88.  VERSION_LOADER=2;
  89.  VERSION_SAVER=3;
  90.  
  91. CONST             {*** Samplekompressions ***}
  92.  COMPRESSION_FIBONACCI_DELTA=$1;
  93.  COMPRESSION_3BYTE          =$2;
  94.  COMPRESSION_DELTA          =$4;
  95.  COMPRESSION_DELTA_2        =$8;
  96.  
  97. CONST
  98.  EFF_DEFWIN=$1;
  99.  EFF_NOCALC=$2;
  100.  
  101. Const
  102.  MAX24=8388600;
  103.  MAXSIZE=50000000;
  104.  
  105. CONST             {*** SpecialData-Typen ***}
  106.  SD_SHORT_TEXT=$1;
  107.  SD_TEXT=$2;
  108.  SD_ANIMINFO=$3;
  109.  SD_IMAGE=$4;
  110.  SD_LOOP=$5;
  111.  SD_MARKER_ARRAY=$8;
  112.  SD_PLAYLIST=$10;
  113.  SD_ALPHA_CHANNEL=$20;
  114.  SD_SCENE=$40;
  115.  
  116.  
  117. type r_SDHeader=^SDHeader;
  118. type SDHeader=record;
  119.         NextSpecialData         :r_SDHeader;
  120.         sdh_Size,sdh_Type       :long;
  121.      end;
  122.  
  123. type r_SDBodyShortText=^SDBodyShortText;
  124. type SDBodyShortText=record
  125.         sdb_SDHeader            :SDHeader;
  126.         sdb_TextString          :string[100];
  127.      end;
  128.  
  129. type r_SDBodyANIM=^SDBodyAnim
  130. type SDBodyANIM=record
  131.         sdb_SDHeader            :SDHeader;
  132.         sdb_Frames              :long;
  133.         sdb_FPS,sdb_Flags       :byte;
  134.         sdb_pad                 :word;
  135.      end;
  136.  
  137. type r_SDBodyScene=^SDBodyScene
  138. type SDBodyScene=record
  139.         sdb_SDHeader            :SDHeader;
  140.         sdb_Name                :string[200];
  141.         sdb_StartFrame          :long;
  142.         sdb_EndFrame            :long;
  143.      end;
  144.      
  145. type r_SDBodyLoop=^SDBodyLoop
  146. type SDBodyLoop=record
  147.         sdb_SDHeader            :SDHeader;
  148.         sdb_Loop,sdb_pad        :word;    
  149.      end;
  150.  
  151. type BlueNote=record
  152.         bn_NoteName                         :array[0..6,1..12] of String[4];
  153.         bn_SampleFreq                       :array[0..6,1..12] of real;
  154.         bn_PlayRate                         :array[0..6,1..12] of word;
  155.         bn_PosX,bn_PosY                     :short;
  156.      end;
  157.  
  158. type r_WaveOp=^WaveOp;
  159. type WaveOp=Record
  160.         ChunkSize,SoundMode                 :byte;
  161.         Operation,OpType,Channels,Flags     :integer;
  162.         Operator                            :array[1..6] of long;
  163.         WAreaA,WAreaE                       :long;                   { -  42 }
  164.         OpString                            :string[81];             { - 123 }
  165.         MemLData,MemAData                   :long;                   { - 131 }
  166.      end;
  167.  
  168. type ITTArr=array [1..15] of ^IntuiText
  169. type r_SelectListGad=^SelectListGad;
  170. type SelectListGad=record
  171.         GadWindow                       :^Window;
  172.         SGad                            :^Gadget;
  173.         SelectedGad,pad1,pad2,pad3      :byte;
  174.         ITextTag                        :ITTArr;
  175.      end;
  176.  
  177. const
  178.    WOP_SMALL=42;
  179.    WOP_NORM=123;
  180.    WOP_BIG=131;
  181.  
  182. type p_WTImages=^WTImages;
  183. type WTImages=Record
  184.         HiSys,Share                             :boolean;
  185.         XXX,KnobImg,CalcImg                     :^Image;
  186.         GImg1,GImg2,GImg3,GImg4,GImg5,GImg6     :^Image;
  187.         ButtonImg1,ButtonImg2,ButtonImg3        :^Image;
  188.         None1,None2,None3                       :^Image;
  189.         Notes                                   :^BlueNote;
  190.         OKIText,CIText                          :^IntuiText;
  191.         ButtonImg4,ButtonImg5,ButtonImg6        :^Image;
  192.      end;
  193. type p_MsgPrc=^MsgPrc;
  194. type MsgPrc=record
  195.         PRC_Flags                                           :long;
  196.         PRC_Str1, PRC_Str2, PRC_Str3, PRC_Str4, PRC_Str5    :string[200]
  197.         PRC_Long1,PRC_Long2,PRC_Long3,PRC_Long4,PRC_Long5   :long;
  198.         PRC_NewPtr                      :ptr;
  199.      end;
  200. type p_ChCoords=^ChCoords
  201. type ChCoords=record
  202.         ChX     :array [1..6] of short;
  203.         ChY     :array [1..6] of short;
  204.      end;
  205. type PlayListEntry=^r_PlayListEntry;
  206. type r_PlayListEntry=record
  207.         BeginOffset,EndOffset           :long;
  208.         Rate,Delay,Time                 :long;
  209.         Loop,VolumeL,VolumeR            :integer;
  210.         Name                            :string[30];
  211.         BeforeEntry,NextEntry           :PlayListEntry;
  212.      end;
  213. type PlayListPattern=^r_PlayListPattern;
  214. type r_PlayListPattern=record
  215.         BeginOffset,EndOffset           :long;
  216.         Name                            :string[30];
  217.         BeforePattern,NextPattern       :PlayListPattern;
  218.      end;
  219. type p_WTStdMsg=^WTStdMsg;
  220. type WTStdMsg=Record
  221.         wt_Node                         :Message;
  222.         UNDOPossible                    :boolean;
  223.         Flags,Version                   :long;
  224.         WTScreen                        :^Screen;
  225.         WTWindow                        :^Window;
  226.         ActiveChannels,ActiveMode       :long;
  227.         MemA16,MemA24,MemAUndo          :array [1..6] of long;
  228.         MemL24,PlayL24,SRate            :long;
  229.         Attack,Decay,Sustain,Release    :long;
  230.         ActWaveOp                       :^WaveOp;
  231.         OPos,OEnd,AreaA,AreaE           :long;
  232.         ActFHandle                      :BPTR;
  233.         WTImg                           :^WTImages
  234.         WTMsgPrc                        :^MsgPrc;
  235.         PosSurround,PosQuadro,PosAC3    :^ChCoords;
  236.         UsedChannels                    :long;
  237.         MemAAlpha,AlphaUNDO             :array [1..6] of long;
  238.         DataValid                       :long;
  239.         FirstPlayListPattern            :PlayListPattern;
  240.         FirstPlayListEntry              :PlayListEntry;
  241.         SpecialData                     :^SDHeader;
  242.         AnimPath                        :str;
  243.         Free1,Free2,Free3,Free4,
  244.         Free5,Free6                     :ptr;
  245.      end;
  246.  
  247. {$endif}
  248.